package com.yanmaohu.yulia.statement;

import com.yanmaohu.yulia.bean.InputUsingClause;
import com.yanmaohu.yulia.bean.OutputUsingClause;
import com.yanmaohu.yulia.bean.SqlStatementName;

/**
 * @author Bright Lee
 */
public final class ExecuteStatement implements SqlDynamicStatement, Statement {

    private int beginIndex;
    private int endIndex;
    private SqlStatementName sqlStatementName;
    private OutputUsingClause resultUsingClause;
    private InputUsingClause parameterUsingClause;

    public ExecuteStatement(int beginIndex,
                            int endIndex,
                            SqlStatementName sqlStatementName,
                            OutputUsingClause resultUsingClause,
                            InputUsingClause parameterUsingClause) {
        this.beginIndex = beginIndex;
        this.endIndex = endIndex;
        this.sqlStatementName = sqlStatementName;
        this.resultUsingClause = resultUsingClause;
        this.parameterUsingClause = parameterUsingClause;
    }

    @Override
    public int getBeginIndex() {
        return beginIndex;
    }

    @Override
    public int getEndIndex() {
        return endIndex;
    }

    public SqlStatementName getSqlStatementName() {
        return sqlStatementName;
    }

    public OutputUsingClause getResultUsingClause() {
        return resultUsingClause;
    }

    public InputUsingClause getParameterUsingClause() {
        return parameterUsingClause;
    }

}
